//#include <stdio.h>
//#include <unistd.h>
//#include <sys/types.h>
//
//int main()
//{
//  printf("父进程开始运行,pid：%d\n",getpid());
// pid_t id= fork();
// if(id<0)
// {
//   perror("fork fail");
//   return 1;
// }
// else if(id==0)
// {
//   //child
//   while(1)
//   {
//      sleep(1);
//      printf("我是一个子进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
//   }
// }
// else
// {
//   //father   
//   //while(1)
//   // {
//   //   sleep(1);
//   //   printf("我是一个父进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
//   // }
//   int cnt=5;
//   while(cnt)
//   {
//      sleep(1);
//      printf("我是一个父进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
//      cnt--;
//   }
// }
//   printf("进程开始运行,pid：%d\n",getpid());
//// while(1)
////  {
////    sleep(1);
////    printf("我是一个进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
////  }
//}
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
  printf("父进程开始运行,pid：%d\n",getpid());
 pid_t id= fork();
 if(id<0)
 {
   perror("fork fail");
   return 1;
 }
 else if(id==0)
 {
   //child
   int cnt=5;
   while(cnt)
   {
      sleep(1);
      printf("我是一个子进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
      cnt--;
   }
 }
 else
 {
   //father   
   while(1)
    {
     sleep(1);
      printf("我是一个父进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
    }
  
   printf("进程开始运行,pid：%d\n",getpid());
// while(1)
//  {
//    sleep(1);
//    printf("我是一个进程！,我的pid:%d,我的父进程的pid:%d\n",getpid(),getppid());
//  }
 }
}
